package ar.com.profertil.galicia.entity;

import java.io.Serializable;

import ar.com.profertil.utils.entity.EnviarArchivoEntity;

/**
 * The Class ArchivoDeudasEnvioGalicia.
 * 
 * @author augusto.ferrari@softtek.com
 * 
 *         Esta clase representa un archivo de deudas a envias al banco. Banco
 *         Galicia.
 */
public class ArchivoDeudasEnvioGalicia implements EnviarArchivoEntity,
		Serializable {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 7886031718134230436L;

	// Variables.
	/** The header. */
	private HeaderEnvio header;

	/** The detalles d. */
	private DetalleDEnvio[] detallesD;

	/** The detalles e. */
	private DetalleEEnvio[] detallesE;

	/** The trailer. */
	private TrailerEnvio trailer;

	/**
	 * Sets the header.
	 * 
	 * @param header
	 *            the new header
	 */
	public void setHeader(HeaderEnvio header) {
		this.header = header;
	}

	/**
	 * Sets the detalles d.
	 * 
	 * @param detallesD
	 *            the new detalles d
	 */
	public void setDetallesD(DetalleDEnvio[] detallesD) {
		this.detallesD = detallesD;
	}

	/**
	 * Sets the detalles e.
	 * 
	 * @param detallesE
	 *            the new detalles e
	 */
	public void setDetallesE(DetalleEEnvio[] detallesE) {
		this.detallesE = detallesE;
	}

	/**
	 * Sets the trailer.
	 * 
	 * @param trailer
	 *            the new trailer
	 */
	public void setTrailer(TrailerEnvio trailer) {
		this.trailer = trailer;
	}

	// Representacion en cadena del archivo de deudas.
	/**
	 * To string.
	 * 
	 * @return the string
	 */
	@Override
	public String toString() {
		StringBuffer salida = new StringBuffer();
		if (header != null) {
			salida.append(header.toString());
		}
		salida.append(getDataArray(detallesD));
		salida.append(getDataArray(detallesE));
		if (trailer != null) {
			salida.append(trailer.toString());
		}
		return salida.toString();
	}

	private Object getDataArray(Object[] array) {
		StringBuffer salida = new StringBuffer("");
		if (array != null) {
			for (Object object : array) {
				salida.append(object.toString());
			}
		}
		return salida.toString();
	}

	@Override
	public String toFileFormatter() {
		// TODO Auto-generated method stub
		return null;
	}
}
